package com.qianfeng.zhangwei.xutils.utils;

import org.json.JSONException;
import org.json.JSONObject;

import java.lang.reflect.Field;

/**
 * @说 明：通过注解的方式来初始化ui,资源文件,事件监听
 * @项目名称：Sz1504Adv
 * @包 名： com.qianfeng.zhangwei.xutils.utils
 * @类 名： JsonUtils
 * @创 建人： zhangwei
 * @创建时间：2015-08-04 09:11
 * @版 本：v1.0
 * @修 改人：
 * @修改时间：
 * @修改备注：
 */
public class JsonUtils {
    /**
     * @param json
     * @param cls
     * @return
     */
    public static Object parseObject(String json, Class<?> cls) {
        Object object = null;
        try {
            JSONObject jsonObject = new JSONObject(json);
            object = cls.newInstance();
            Field[] fields = cls.getDeclaredFields();
            if (fields != null && fields.length > 0) {
                for (Field field : fields) {
                    Class<?> typeClass = field.getType();
                    if (typeClass.getSimpleName().equals("String")) {
                        String value = jsonObject.getString(field.getName());
                        field.setAccessible(true);
                        field.set(object, value);
                    }
                }
                //            Field field;
//            field.set(object,);

            }


        } catch (JSONException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return object;

    }


}
